home *** CD-ROM | disk | FTP | other *** search
-
-
-
- mmmmmmmmaaaapppp((((DDDD2222)))) mmmmmmmmaaaapppp((((DDDD2222))))
-
-
-
- NNNNAAAAMMMMEEEE
- _mmmm_mmmm_aaaa_pppp - support virtual mapping for memory-mapped device
-
- SSSSYYYYNNNNOOOOPPPPSSSSIIIISSSS
- _####_iiii_nnnn_cccc_llll_uuuu_dddd_eeee _<<<<_ssss_yyyy_ssss_////_tttt_yyyy_pppp_eeee_ssss_...._hhhh_>>>>
- _####_iiii_nnnn_cccc_llll_uuuu_dddd_eeee _<<<<_ssss_yyyy_ssss_////_pppp_aaaa_rrrr_aaaa_mmmm_...._hhhh_>>>>
- _####_iiii_nnnn_cccc_llll_uuuu_dddd_eeee _<<<<_ssss_yyyy_ssss_////_mmmm_mmmm_aaaa_nnnn_...._hhhh_>>>>
- _####_iiii_nnnn_cccc_llll_uuuu_dddd_eeee _<<<<_ssss_yyyy_ssss_////_dddd_dddd_iiii_...._hhhh_>>>>
- _iiii_nnnn_tttt _p_r_e_f_i_x_mmmm_mmmm_aaaa_pppp_((((_dddd_eeee_vvvv______tttt _d_e_v_,,,, _oooo_ffff_ffff______tttt _o_f_f_,,,, _iiii_nnnn_tttt _p_r_o_t_))))_;;;;
-
- AAAArrrrgggguuuummmmeeeennnnttttssss
- _d_e_v Device whose memory is to be mapped.
-
- _o_f_f Offset within device memory at which mapping begins.
-
- _p_r_o_t Protection flags from _mmmm_mmmm_aaaa_nnnn_...._hhhh.
-
- DDDDEEEESSSSCCCCRRRRIIIIPPPPTTTTIIIIOOOONNNN
- The _mmmm_mmmm_aaaa_pppp entry point provides a way to support character drivers for
- memory-mapped devices. A memory-mapped device has memory that can be
- mapped into a process's address space. The _mmmm_mmmm_aaaa_pppp(2) system call, when
- applied to a character special file, allows this device memory to be
- mapped into user space for direct access by the user application (this
- way no kernel buffering or system call overhead is incurred).
-
- The _mmmm_mmmm_aaaa_pppp routine checks if the offset is within the range of pages
- supported by the device. For example, a device that has 32K bytes of
- memory that can be mapped into user space should not support offsets
- greater than, or equal to, 32K. If the offset does not exist, then
- _NNNN_OOOO_PPPP_AAAA_GGGG_EEEE is returned. If the offset does exist, the _mmmm_mmmm_aaaa_pppp routine returns
- the physical page ID for the page at offset _o_f_f in the device's memory;
- that is, the offset in units of pages.
-
- RRRReeeettttuuuurrrrnnnn VVVVaaaalllluuuueeeessss
- If the protection and offset are valid for the device, the driver should
- return the physical page ID. Otherwise, _NNNN_OOOO_PPPP_AAAA_GGGG_EEEE should be returned.
-
- UUUUSSSSAAAAGGGGEEEE
- This entry point is optional, and valid for memory-mapped character
- device or character pseudo-device drivers only.
-
- Valid values for _p_r_o_t are:
-
- _PPPP_RRRR_OOOO_TTTT______RRRR_EEEE_AAAA_DDDD Page can be read.
-
- _PPPP_RRRR_OOOO_TTTT______WWWW_RRRR_IIII_TTTT_EEEE Page can be written.
-
- _PPPP_RRRR_OOOO_TTTT______EEEE_XXXX_EEEE_CCCC Page can be executed.
-
-
-
-
-
- PPPPaaaaggggeeee 1111
-
-
-
-
-
-
- mmmmmmmmaaaapppp((((DDDD2222)))) mmmmmmmmaaaapppp((((DDDD2222))))
-
-
-
- _PPPP_RRRR_OOOO_TTTT______AAAA_LLLL_LLLL All of the above.
-
- SSSSyyyynnnncccchhhhrrrroooonnnniiiizzzzaaaattttiiiioooonnnn CCCCoooonnnnssssttttrrrraaaaiiiinnnnttttssss
- The _mmmm_mmmm_aaaa_pppp routine has user context and can sleep.
-
- RRRREEEEFFFFEEEERRRREEEENNNNCCCCEEEESSSS
- _mmmm_aaaa_pppp(D2X), _uuuu_nnnn_mmmm_aaaa_pppp(D2X)
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- PPPPaaaaggggeeee 2222
-
-
-
-